package org.example.oop.collection;

import java.util.List;

/**
 * org.example.oop.collection
 *
 * @author moLei
 * @description
 * @since 2025/6/18
 */
public class GenericsDemo03 {
    /**
     * 使用泛型定义返回值
     * @param <T> 泛型，T表示任意类型
     *
     */
    public static <T> void printArray(T[] array) {
        for (T e : array) {
            System.out.println(e);
        }
    }

    /**
     * @param list 泛型，?表示任意类型，extends表示泛型上界，表示只能是Number及其子类
     */
    public static void getData(List<? extends Number> list) {
        System.out.println(list);
    }

    public static void main(String[] args) {
        // 定义不同的数组类型
        Integer[] intArray = {1, 2, 3, 4, 5};
        String[] stringArray = {"hello", "world", "java"};
        Double[] doubleArray = {1.1, 2.2, 3.3, 4.4, 5.5};

        // 打印数组
        printArray(intArray);
        System.out.println("---------");
        printArray(stringArray);
        System.out.println("---------");
        printArray(doubleArray);
    }
}
